/*
 * RiconoscimentoOstacolo.h
 */

#ifndef RICONOSCIMENTOOSTACOLO_H_
#define RICONOSCIMENTOOSTACOLO_H_


#include <libfreenect.hpp>
#include <iostream>
#include <vector>
#include <cmath>
#include <math.h>
#include <pthread.h>
#include <opencv/cv.h>
#include <opencv2/opencv.hpp>
#include <opencv/cxcore.h>
#include <opencv/highgui.h>

#define MIN_AREA_OSTACOLO 5000
#define MIN_H_OSTACOLO 19
#define SUP_H_OSTACOLO 29
#define MIN_S_OSTACOLO 111
#define SUP_S_OSTACOLO 255
#define MIN_V_OSTACOLO 134
#define SUP_V_OSTACOLO 247

using namespace cv;
using namespace std;

class RiconoscimentoOstacolo {

public:
    RiconoscimentoOstacolo();
    ~RiconoscimentoOstacolo();
    Point riconoscimento_ostacolo(Mat rgbMat, Mat img_ostacolo_filt2);
	unsigned short calcoloProfonditaOstacolo(Mat rgbMat, Mat depthMat,Point centroRettangoloOstacolo);
	double calcoloAngoloOstacolo(Mat rgbMat,CvPoint centroRettangoloOstacolo);

};

#endif
